The present invention relates to the storage of video data, in which video frames are stored on a plurality of storage devices.
Systems are known for storing data in which data transfer rates are increased by dividing the data source into a plurality of sub-streams and thereafter writing said sub-streams in parallel. Conventional and relatively inexpensive computer disks are now capable of storing large amounts of data, typically providing for many gigabits of data to be stored on each disk. Two problems exist with these disk, however, in that the maximum data transfer rate is limited and the disks are susceptible to occasional failures, resulting in total data loss.
Data transfer rates may be increased by arranging the disks as an array, such that a data source is divided into a plurality of streams with said streams being written in parallel to a plurality of disks. Thus, for example, a video image may be divided into a plurality of regions scanning nature of most video images usually referred to as stripes. Thus, a video frame may be divided into a plurality of stripes, with each of said stripes being written to its own respective disk.
As the number of disks in an array increases, the likelihood of one of these disks failing increases. If the data on such a disk is lost, the whole frame will become unusable, therefore such an arrangement would not be acceptable in most applications. To overcome this problem, it is known to provide an additional disk configured to store redundant parity data. Upon disk failure, the lost data may be reconstituted from the parity information by XORing the parity information with the remaining streams. However, when operating in this mode, the array is effectively unprotected and further failure will result in catastrophic loss. Consequently, in existing systems, the array would be taken off-line, a new disk would be introduced to the array and the lost data would be reconstituted from the parity data and thereafter written to the replacement disk; a process commonly referred to xe2x80x9chealingxe2x80x9d.
The problem with this approach is that the off-line healing procedure may take a considerable amount of time which effectively places expensive equipment off-line.
According to a first aspect of the present invention, there is provided video storage apparatus including storage means, transfer means and processing means, wherein said storage means comprises a plurality of storage of devices configured to stored respective stripes of image frames with redundant data derived from said stripes, said transferring means is arranged to transfer image data at substantially image display rate or at a rate greater than said display rate, and said processing means is configured to regenerate lost data from said redundant data during a reading operation and said processing means is configured to write said regenerated data to an operational storage device.
In a preferred embodiment, the storage devices are magnetic disks and each stripe may be written to a respective disk with redundant data being written to a separate disk. The redundant data may be parity data derived by an exclusive ORing operation.
In a preferred embodiment, output data is written to a frame buffer and two output frame buffers may be provided which alternate in operation, to effect double buffering in which a first buffer is written randomly from the storage devices and a second buffer is read sequentially as a synchronized video stream. The video stream may be compatible with D1 video recommendations.
According to a second aspect of the present invention, there is provided a method of storing video data, wherein image stripes derived from image frames in combination with redundant data derived from said stripes are stored on a plurality of storage devices, image data is transferred at substantially image display rate or at a rate greater than said display rate, lost data is regenerated from said redundant data during a reading operation, and said regenerated data is written to an operational storage device while output data is being supplied at said transfer rate.
In a preferred embodiment, errors are detected during the replay of video data and data regeneration is initiated in response to said detection.
The video data may be derived from cinematographic film, high definition video frames, or broadcast quality video fields.